#pragma once
#ifndef __NATIVE_H
#define __NATIVE_H
#include <fstream>
#include <algorithm>
#include <time.h>

using namespace std;

class MyPoint
{
public:
	double x,y,angle;
	int operator ==(MyPoint two)
	{
		if(two.x==x &&two.y==y)
			return 1;
		return 0;	
	}
	 friend ostream& operator <<(ostream &os,const MyPoint &obj);	 
	 friend bool operator<(const MyPoint &obj,const MyPoint &obj1);
};

class MyLine
{
public:
	MyPoint a,b;
};

class NativeDepth
{
public:
	

MyPoint P[50][100], q[50];

int pointSetID,numberOfPoints[50];
double Depth[50];
int algo;
int did2,did1;

	NativeDepth(void);
	~NativeDepth(void);
	void parse();
	void parseContour();
	double GromovDepth(MyPoint q);
	double GromovDepth(double qx, double qy);
	double GetDirection();
	double GetXDirection();
	double GetYDirection();
};

#endif